<template>
  <div class="btn"
       :class='{"primary":type=="primary","danger":type=="danger"}'
       @click="handler">
    <!-- 添加插槽，让用户可以自定义按钮的文本内容 -->

    <!-- 匿名插槽：没有设置名称的插槽,后期在使用这个组件的时候，在组件的双标签之间的内容都会填充到这个插槽位置 -->
    <slot></slot>
  </div>
</template>

<script>
export default {
  props: {
    type: {
      type: String
    }
  },
  methods: {
    handler (e) {
      // 子组件无法进行具体的业务处理，所以它只能告诉父组件需要触发单击事件
      this.$emit('click', e)
    }
  }
}
</script>

<style lang="less" scoped>
.btn {
  width: 318 * 100vw/360;
  height: 50px;
  border-radius: 25px;
  border: 1px solid #ccc;
  background-color: #ccc;
  line-height: 50px;
  text-align: center;
  margin: 0 auto;
  font-size: 20px;
  color: #666;
}
.primary {
  border: 1px solid rgb(67, 145, 4);
  background-color: rgb(67, 145, 4);
  color: #fff;
}
.danger {
  border: 1px solid rgb(211, 29, 13);
  background-color: rgb(211, 29, 13);
  color: #fff;
}
</style>